Vine – a Numerical Code for Simulating Astrophysical Systems Using Particles Ii: Implementation and Performance Characteristics
نویسنده
چکیده
We continue our presentation of VINE. In this paper, we begin with a description of relevant architectural properties of the serial and shared memory parallel computers on which VINE is intended to run, and describe their influences on the design of the code itself. We continue with a detailed description of a number of optimizations made to the layout of the particle data in memory and to our implementation of a binary tree used to access that data for use in gravitational force calculations and searches for SPH neighbor particles. We describe the modifications to the code necessary to obtain forces efficiently from special purpose ‘GRAPE’ hardware, the interfaces required to allow transparent substitution of those forces in the code instead of those obtained from the tree, and the modifications necessary to use both tree and GRAPE together as a fused GRAPE/tree combination. We conclude with an extensive series of performance tests, which demonstrate that the code can be run efficiently and without modification in serial on small workstations or in parallel using the OpenMP compiler directives on large scale, shared memory parallel machines. We analyze the effects of the code optimizations and estimate that they improve its overall performance by more than an order of magnitude over that obtained by many other tree codes. Scaled parallel performance of the gravity and SPH calculations, together the most costly components of most simulations, is nearly linear up to at least 120 processors on moderate sized test problems using the Origin 3000 architecture, and to the maximum machine sizes available to us on several other architectures. At similar accuracy, performance of VINE, used in GRAPE-tree mode, is approximately a factor two slower than that of VINE, used in host-only mode. Further optimizations of the GRAPE/host communications could improve the speed by as much as a factor of three, but have not yet been implemented in VINE. Finally, we find that although parallel performance on small problems may reach a plateau beyond which more processors bring no additional speedup, performance never decreases, a factor important for running large simulations on many processors with individual time steps, where only a small fraction of the total particles require updates at any given moment. Subject headings: methods: numerical — methods: N -body simulations
منابع مشابه
VINE – A numerical code for simulating astrophysical systems using particles I: Description of the physics and the numerical methods
We present a numerical code for simulating the evolution of astrophysical systems using particles to represent the underlying fluid flow. The code is written in Fortran 95 and is designed to be extremely versatile, flexible and extensible, with modular options that can be selected either at the time the code is compiled or at run time through a text input file. We include a number of general pu...
متن کاملPerformance analysis of direct N-body algorithms for astrophysical simulations on distributed systems
We discuss the performance of direct summation codes used in the simulation of astrophysical stellar systems on highly distributed architectures. These codes compute the gravitational interaction among stars in an exact way and have an O(N2) scaling with the number of particles. They can be applied to a variety of astrophysical problems, like the evolution of star clusters, the dynamics of blac...
متن کاملNumerical Investigation of Fluid Mixing in a Micro-Channel Mixer with Two Rotating Stirrers by Using the Incompressible SPH Method
Fluid mixing is a crucial and challenging process for microfluidic systems, which are widely used in biochemical processes. Because of their fast performance, active micromixers that use stirrer blades are considered for biological applications. In the present study, by using a robust and convenient Incompressible Smoothed Particle Hydrodynamics (ISPH) method, miscible mix...
متن کاملMATLAB CODE FOR VIBRATING PARTICLES SYSTEM ALGORITHM
In this paper, MATLAB code for a recently developed meta-heuristic methodology, the vibrating particles system (VPS) algorithm, is presented. The VPS is a population-based algorithm which simulates a free vibration of single degree of freedom systems with viscous damping. The particles gradually approach to their equilibrium positions that are achieved from current population and historically b...
متن کاملSapporo2: A versatile direct N-body library
Correspondence: [email protected] Leiden Observatory, Leiden University, P.O. Box 9513 , NL-2300 RA Leiden, the Netherlands Full list of author information is available at the end of the article Abstract Astrophysical direct N -body methods have been one of the first production algorithms to be implemented using NVIDIA’s CUDA architecture. Now, almost seven years later, the GPU is the m...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009